<?php
global $objClases,$basedatos,$us;
$asyn = (getParametro($_GET,'modo','sincrono') == 'asincrono');
//Es modo asincrono?
if($asyn){
	include_once($objClases->raizSitio()."/includes/json/JSON.php");
	$json = new Services_JSON();	
	
	if(getParametro($_GET,'get') == 'usuario'){
		include_once($objClases->raizSitio().'/includes/json/DialogoSemana.php');
		$dialogo = DialogoSemana::getDialogoSemana();		
		
		$idUsuario = getParametro($_GET,'id');
		$resultado = $basedatos->consultaPrefijo('SELECT Ma_Nombre,#__materias.Id_Materia,Us_Nombre '
		. 'FROM #__materias INNER JOIN (#__um INNER JOIN #__usuarios ON #__usuarios.Id_Usuario=#__um.Id_Usuario) '
		. 'ON #__um.Id_Materia=#__materias.Id_Materia '
		. 'WHERE #__usuarios.Id_Usuario=' .  $idUsuario);
		if (!$resultado) echo $basedatos->stderr();
		$materia=$basedatos->getResultado('',0,'array');
		for($i=0;$i<count($materia);$i++){
			$nom_materia = $materia[$i]['Ma_Nombre'];
			//if(strlen($nom_materia) > 20)
				//$nom_materia = substr($materia[$i]['Ma_Nombre'],0,20)."...";
			$dialogo->addMateria($nom_materia,$materia[$i]['Id_Materia']);
		}
		
		if (count($dialogo->materias) != 0){
			$dialogo->nombreUsuario = $materia[0]['Us_Nombre'];
			$dialogo->error = 0; //Todo bien
		}else{
			if(count($materia) == 0)
				$dialogo->error = 1; //Usuario no registrado
			else
			 	$dialogo->error = 2; //Sin materias asignadas
		}
		
		//Convertimos a JSON
		$dialogoJson=$json->encode($dialogo);
		echo $dialogoJson;
		exit();
	}
	exit();
}
if(isset($_POST['txtClave'])){
	//Obtenemos los datos del formulario
	$clave 		 = getParametro($_POST,'txtClave');
	$materia 	 = getParametro($_POST,'cboMaterias');
	$fechas		 = explode(',',getParametro($_POST,'fechas'));
	$hora		 = (getParametro($_POST,'cboHoras',0,_NUMERICO) + 7).':00:00';
	$selAulas	 = getParametro($_POST,'selAulas');
	$comentarios = getParametro($_POST,'txtaComentarios');
	
	//Validacion
	$estado = 1; //1 Bien, 0 Error, 2 Advertencias (bien parcialmente)
	$mensaje = '';
	if(strlen($clave) != 3 && strlen($clave) != 8){
		$estado = 0;
		$mensaje = 'Escriba una clave de docente o n&uacute;mero de control v&aacute;lidos.';
	}
	if(strlen($materia) == 0 || $materia == -1){
		$estado = 0;
		$mensaje = 'Escriba una clave de docente o n&uacute;mero de control y seleccione una materia.';
	}
	if(sizeof($fechas) == 0){
		$estado = 0;
		$mensaje = 'Seleccione la(s) fecha(s) de apartado.';
	}
	if($estado){
		//Comenzamos con los apartados
		for($ap=0;$ap < sizeof($fechas); $ap++){
			$fecha = $fechas[$ap];
			//Verificamos que las aulas este disponible en fecha/hora
			for($au=0; $au < sizeof($selAulas); $au++){
				$aula = $selAulas[$au];
				$resultado = $basedatos->consultaPrefijo('SELECT count(Id_Prestamo) ' .
				'FROM #__pa '.
				"WHERE Pa_Fecha='$fecha' and Pa_Hora='$hora' and Id_Aula=$aula");
				if(!$resultado) echo $basedatos->stderr();
				$apar=$basedatos->getResultado('',0,'array');
				$apartada = $apar[0][0];
				if($apartada > 0)
					$errores[] = "El aula ya est&aacute; ocupada el $fecha a las $hora .";
				else{
					//Verificamos que el usuario no tenga aulas apartadas en fecha/hora
					$aulasApartadas = false;
					$basedatos->setConsultaPrefijo("SELECT Id_Nivel FROM #__usuarios WHERE Id_Usuario=$clave");
					$resultado = $basedatos->consulta();
					if ($resultado){
						$arrRes = $basedatos->getResultado('',0,'array');
						if($arrRes[0]['Id_Nivel'] != 5){ //Nivel 5 - Usuario especial
							$resultado = $basedatos->consultaPrefijo('SELECT count(#__pa.Id_Prestamo),#__prestamos.Id_Materia,#__pa.Id_Aula ' .
								'FROM #__pa inner join #__prestamos on #__prestamos.Id_Prestamo=#__pa.Id_Prestamo ' .
								'WHERE Id_Usuario=' . $clave . " AND Pa_Fecha='$fecha' and Pa_Hora='$hora' " .
								'GROUP by #__pa.Id_Prestamo');
							if (!$resultado) echo $basedatos->stderr();
							$apartados=$basedatos->getResultado('',0,'array');
							$apartado=$apartados[0][0];
							if($apartado > 0){
								$errores[] = "Aula ya apartada para el usuario <b>$clave</b> el $fecha a las $hora .";
								$aulasApartadas = true;
							}
						}
					}
					
					if(!$aulasApartadas){
						//Realizamos apartado
						$basedatos->setConsultaPrefijo("INSERT INTO #__prestamos SET Id_Usuario=" . $clave .", Pr_Observaciones ='" . $comentarios ."', Pr_Hfechap ='". date("Y-m-d H:i:s") . "', Id_Materia='$materia'");
						$resultado = $basedatos->consulta();
						if ($resultado){
							$idprestamo = $basedatos->getInsertId();
		
							$basedatos->setConsultaPrefijo("INSERT INTO #__pa SET Id_Prestamo=$idprestamo, Id_Aula=$aula, Pa_Fecha='$fecha', Pa_Hora='$hora'");
							$resultado = $basedatos->consulta();
							if (!$resultado)
								$errores[] = "No se pudo agregar el apartado el $fecha";
						}else
							$errores[] = "No se pudo agregar el apartado el $fecha";
					}//If aulas mismo usuario
				}//If aulas disponible
			}//For de aulas		
		}//For de fechas
		
		if(sizeof($errores) > 0 && sizeof($errores) != sizeof($fechas)){
			$estado = 2;
			$mensaje = 'Se han apartado parcialmente las aulas.<br /><br />';
			$mensaje .= join("<br />\n",$errores);
		}else if(sizeof($errores) > 0){
			$estado = 0;
			$mensaje = 'No se han apartado las aulas.<br /><br />';
			$mensaje .= join("<br />\n",$errores);
		}else{
			$estado = 1;
			$mensaje = 'Se han apartado correctamente las aulas.';
		}
	}//If de estado
	
	//Mostrar el mensaje de error
	$estados = array('mensaje_config_error','mensaje_config_correcto','mensaje_config_advertencia');
	$tipoMensaje = $estados[$estado];
}else{//If isset
	$tipoMensaje = 'mensaje_config_advertencia';
	$mensaje = '<b>Nota importante:</b>
				Verifica que los datos que ingreses sean correctos antes de dar clic en Apartar.';
}
?>
<form name="frmExtratemporaneo" method="post" class="formularios" action="">
	<table align="center" class="encabezados">
		<tr>
			<th>
				Apartado Extempor&aacute;neo.
			</th>
		</tr>
		<tr>
			<td>
			<div id="capa_mensajes" class="<?php echo $tipoMensaje; ?>">
				<span id="mensaje_config">
					<?php echo $mensaje; ?>
				</span>
			</div>
			</td>
		</tr>
	</table>
	<table align="center" class="tablas">
		<tr>
			<th colspan="2" class="LineaA"></th>
		</tr>
		<tr>
			<td><label for="txtClave">Clave:</label></td>
			<td>
			  <div align="left">
			    <input type="text" name="txtClave" id="txtClave" maxlength="8" size="25" class="textos" value="" onkeyup="txtClaveChange();" onclick="txtClaveChange();" />
			    <img src="<?php echo $objClases->get('sitio_vivo') . '/modulos/mod_aulas/blank.png'?>" id="imgUsuario" alt=" "/>
	          </div>
	        </td>
		</tr>
		<tr>
			<td></td>
			<td><div align="left"><span class="comentarios">Clave de docente o n&uacute;mero de control.</span></div></td>
		</tr>
		<tr>
			<td><label for="txtNombreU">Usuario:</label></td>
			<td>
				<div align="left">
					<input type="text" name="txtNombreU" id="txtNombreU" maxlength="30" size="25" class="textos" value="" disabled="disabled" />
				</div>
			</td>
		</tr>
		<tr>
			<td><label for="cboMaterias">Materia:</label></td>
			<td>
				<div align="left">
					<select name="cboMaterias" id="cboMaterias">
						<option value="-1"> [ Escriba una clave ] </option>
					</select>
				</div>
			</td>
		</tr>
		<tr>
			<td><label for="txtFecha">Fecha(s):</label></td>
			<td>
				<div align="left">
					<input type="text" name="txtFecha" id="txtFecha" maxlength="100" size="18" readonly="readonly" onchange="activarBotones();" />
					<button type="button" id="btnMultiFechas" title="Seleccion de fechas">
                    	<img src="<?php echo $objClases->get('sitio_vivo'); ?>/administracion/modulos/mod_extemporaneo/recursos/cal1.gif" alt="Seleccion de fechas" />
                    </button>
                    
                    <button type="button" id="btnIntervaloFechas" title="Intervalo de fecha">
                    	<img src="<?php echo $objClases->get('sitio_vivo'); ?>/administracion/modulos/mod_extemporaneo/recursos/cal2.gif" alt="Intervalo de fecha" />
                    </button>
                    
                    <!-- Dialogos de los calendarios -->
					<div id="contMultiFechas">
						<div class="hd">Selecci&oacute;n de fechas</div>
						<div class="bd">
							<div id="calMulti"></div>
						</div>
					</div>
                    
                    <div id="contIntervaloFechas">
						<div class="hd">Selecci&oacute;n de intervalo</div>
						<div class="bd">
							<div id="calIntervalo"></div>
						</div>
					</div>
                    
				</div>
			</td>
		</tr>
		<tr>
			<td></td>
			<td style="text-align:left;"><span class="comentarios">Clic en los botones para seleccionar la fecha.</span></td>
		</tr>
		<tr>
			<td><label for="cboHoras">Hora:</label></td>
			<td>
				<div align="left">
					<select name="cboHoras" id="cboHoras">
						<option value="0">07:00</option>
						<option value="1">08:00</option>
                        <option value="2">09:00</option>
                        <option value="3">10:00</option>
                        <option value="4">11:00</option>
                        <option value="5">12:00</option>
                        <option value="6">13:00</option>
                        <option value="7">14:00</option>
                        <option value="8">15:00</option>
                        <option value="9">16:00</option>
                        <option value="10">17:00</option>
                        <option value="11">18:00</option>
                        <option value="12">19:00</option>
					</select>
				</div>
			</td>
		</tr>
		<tr>
			<td><label for="selAulas">Aula:</label></td>
			<td>
				<div align="left">
					<select name="selAulas[]" id="selAulas" multiple="multiple">
                    	<?php
						//Aulas existentes
						$resultado = $basedatos->consultaPrefijo('SELECT Au_Nomcrt,Id_Aula FROM #__aulas');
						if (!$resultado) echo $basedatos->stderr();
						$aulas=$basedatos->getResultado('',0,'array');
			
						//Aulas disponibles
						for($i=0;$i<sizeof($aulas);$i++)
							echo "\t\t\t<option value=\"" . $aulas[$i]['Id_Aula'] . "\">" . $aulas[$i]['Au_Nomcrt'] . "</option>\n";
						?>
					</select>
				</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;"><label for="txaComentarios">Comentarios:</label></td>
			<td>
				<div align="left">
					<textarea name="txaComentarios" id="txaComentarios" rows="5" cols="25"></textarea>
				</div>
			</td>
		</tr>
	</table>
	
	<table align="center">
		<tr>
			<td>
				<p>
				<input type="submit" name="btnApartar" value="Apartar" class="boton" onclick="return btnApartarClick(); return false;" />
				<input type="reset" name="btnLimpiar" value="Limpiar" class="boton" />
                <input type="hidden" name="fechas" value="" id="fechas" />
				<br />
				</p>
			</td>
		</tr>
	</table>
<?php
$fecha = date("m/d/Y"); //Formato gringo
echo "\t".'<input type="hidden" name="fechaMin" id="fechaMin" value="' . $fecha . '" />'."\n";
?>
</form>